<div class="tmd-doc">
<p></p>
<h1 class="tmd-header-1">
Go Details &amp; Tips 101 Update History
</h1>
<p></p>
<h3 class="tmd-header-3">
v1.24.a (2024/Dec/16)
</h3>
<p></p>
<ul class="tmd-list">
<li class="tmd-list-item">
<div class="tmd-usual">
"
</div>
</li>
</ul>
<p></p>
<h3 class="tmd-header-3">
v1.23.a (2024/Oct/16)
</h3>
<p></p>
<ul class="tmd-list">
<li class="tmd-list-item">
<div class="tmd-usual">
"Standard and User Packages Related" chapter:
</div>
</li>
<li class="tmd-list-item">
<div class="tmd-usual">
add "The <code class="tmd-code-span">N</code> function in the Go 1.22 introduced <code class="tmd-code-span">math/rand/v2</code> standard package provides much convenience in some scenarios"
</div>
</li>
</ul>
<p></p>
<h3 class="tmd-header-3">
v1.22.a (2024/Mar/18)
</h3>
<p></p>
<ul class="tmd-list">
<li class="tmd-list-item">
<div class="tmd-usual">
"Syntax and Semantics Related" chapter:
</div>
</li>
<li class="tmd-list-item">
<div class="tmd-usual">
Go 1.22 introduced <code class="tmd-code-span">for range Integer</code> loops and changed the semantics of for-loop code blocks.Some related contents are added.
</div>
</li>
</ul>
<p></p>
<h3 class="tmd-header-3">
v1.21.b
</h3>
<p></p>
<ul class="tmd-list">
<li class="tmd-list-item">
<div class="tmd-usual">
"Standard and User Packages Related" chapter:
</div>
</li>
<li class="tmd-list-item">
<div class="tmd-usual">
due to <a href="https://github.com/golang/go/issues/57411">https://github.com/golang/go/issues/57411</a>, removed the "How to try to run a custom <code class="tmd-code-span">init</code> function as early as possible?" tip.
</div>
</li>
</ul>
<p></p>
<h3 class="tmd-header-3">
v1.21.a (2023/OCT/11)
</h3>
<p></p>
<ul class="tmd-list">
<li class="tmd-list-item">
<div class="tmd-usual">
"Syntax and Semantics Related" chapter:
</div>
</li>
<li class="tmd-list-item">
<div class="tmd-usual">
mentions the evaluation results of <code class="tmd-code-span">unsafe.Alignof</code>, <code class="tmd-code-span">unsafe.Offsetof</code> and <code class="tmd-code-span">unsafe.Sizeof</code> function calls are not constants.
</div>
</li>
<li class="tmd-list-item">
<div class="tmd-usual">
"Compiler and Runtime Related" chapter:
</div>
</li>
<li class="tmd-list-item">
<div class="tmd-usual">
added a "How to guarantee a struct field to be always 8-byte aligned" tip.
</div>
</li>
</ul>
<p></p>
<h3 class="tmd-header-3">
v1.20.a (2023/Feb/01)
</h3>
<p></p>
<ul class="tmd-list">
<li class="tmd-list-item">
<div class="tmd-usual">
"Syntax and Semantics Related" chapter:
</div>
</li>
<li class="tmd-list-item">
<div class="tmd-usual">
mentions Go 1.21 will add a <code class="tmd-code-span">clear</code> built-in function, which can removed map entries with NaN keys.
</div>
</li>
<li class="tmd-list-item">
<div class="tmd-usual">
in the "Normalization of method selectors" section, mentions a de-virtualize bug has been fixed since Go toolchain 1.20.
</div>
</li>
<li class="tmd-list-item">
<div class="tmd-usual">
in the "Some expression evaluation orders are unspecified in Go" section, mentions an evaluation order difference between normal variable declaration and redeclaration has been removed since Go toolchain 1.20.
</div>
</li>
</ul>
<p></p>
<h3 class="tmd-header-3">
v1.19.e (2022/Nov/15)
</h3>
<p></p>
<ul class="tmd-list">
<li class="tmd-list-item">
<div class="tmd-usual">
add a new detail "The official Go compiler checks some popential bugs caused by the <code class="tmd-code-span">:=</code> trap but not all of them" in "Syntax and Semantics Related" chapter.
</div>
</li>
</ul>
<p></p>
<h3 class="tmd-header-3">
v1.17 (2021/Dec/22)
</h3>
<p></p>
<ul class="tmd-list">
<li class="tmd-list-item">
<div class="tmd-usual">
published
</div>
</li>
</ul>
</div>
